
/*
3、	假设有火车票100张，创建5个线程模拟5个售票点，每个售票点100毫秒卖一张票。
    打印出售票过程，注意同步方法以避免多线程共享资源时发生冲突。
 */
class Store implements Runnable{
    private int tickets=100;
    Object lock=new Object();
    @Override
    public void run() {
       while (true) {
           try {
               Thread.sleep(100);
           } catch (InterruptedException e) {
               throw new RuntimeException(e);
           }
           synchronized (lock) {
              if(tickets>0) {
                  System.out.println(Thread.currentThread().getName() + "卖出第" + (tickets--) + "张票");
              }else {
                  break;
              }
           }
       }
    }
}
public class demo3 {
    public static void main(String[] args) {
        Store s1=new Store();
        new Thread(s1,"第1售票点").start();
        new Thread(s1,"第2售票点").start();
        new Thread(s1,"第3售票点").start();
        new Thread(s1,"第4售票点").start();
        new Thread(s1,"第5售票点").start();
    }
}
